<?xml version="1.0" encoding='Windows-1251'?>
<!DOCTYPE hrc PUBLIC "-//Cail Lomecb//DTD Colorer HRC take5//EN"
  "http://colorer.sf.net/2003/hrc.dtd">
<hrc version="take5" xmlns="http://colorer.sf.net/2003/hrc"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://colorer.sf.net/2003/hrc http://colorer.sf.net/2003/hrc.xsd">
<!--
    Turbo Prolog Highlighting Scheme for Colorer
    $Id$
    Created by : Max Degtyarev <mdma@mail.ru>
-->
   <type name="turboProlog">

      <import type="def"/>

      <region name="tpComment" parent="Comment"/>
      <region name="tpKeyword" parent="Keyword"/>
      <region name="tpSymbol" parent="Symbol"/>
      <region name="tpNumber" parent="Number"/>
      <region name="tpString" parent="String"/>
      <region name="tpVariable" parent="Var"/>


      <scheme name="turboProlog">
<!-- Comments -->
         <block start="/\/\*/" end="/\*\//" scheme="Comment" region="tpComment" region00="PairStart" region10="PairEnd"/>
<!-- Strings -->
         <regexp match="/([Ll]?&#34;(\\.|[^\\&#34;])*?&#34;)/" region0="tpString"/>
<!-- Numbers -->
         <inherit scheme="FloatNumber"/>
<!-- Variables -->
<!-- Если keywords/имена предикатов начинаются с большой буквы , то облом ;(
      будут выделены как переменные -->
         <regexp match="/_|[A-Z]\w*/" region="tpVariable"/>
<!-- symbols -->
         <keywords region="tpSymbol">
            <symb name=":-"/>
            <symb name="("/>
            <symb name=")"/>
            <symb name=","/>
            <symb name=";"/>
            <symb name="="/>
            <symb name="&lt;"/>
            <symb name="&gt;"/>
            <symb name="&lt;&gt;"/>
            <symb name="-"/>
            <symb name="+"/>
            <symb name="*"/>
            <symb name="/"/>
            <symb name="."/>
            <symb name="["/>
            <symb name="|"/>
            <symb name="]"/>
            <symb name="!"/>
            <symb name="mod"/>
            <symb name="div"/>
         </keywords>
<!-- Build-In Predicates -->
         <keywords region="tpKeyword">
<!-- SUMMARY OF PROGRAM SECTIONS -->
            <word name="constants"/>
            <word name="global"/>
            <word name="domains"/>
            <word name="database"/>
            <word name="predicates"/>
            <word name="clauses"/>
            <word name="include"/>
            <word name="goal"/>
<!-- INPUT -->
            <word name="readln"/>
            <word name="readint"/>
            <word name="readreal"/>
            <word name="readchar"/>
            <word name="file_str"/>
            <word name="inkey"/>
            <word name="keypressed"/>
            <word name="unreadchar"/>
            <word name="readterm"/>
<!-- OUTPUT -->
            <word name="write"/>
            <word name="nl"/>
            <word name="writef"/>
<!-- FILESYSTEM -->
            <word name="openread"/>
            <word name="openwrite"/>
            <word name="openappend"/>
            <word name="openmodify"/>
            <word name="readdevice"/>
            <word name="writedevice"/>
            <word name="filemode"/>
            <word name="closefile"/>
            <word name="filepos"/>
            <word name="eof"/>
            <word name="flush"/>
            <word name="existfile"/>
            <word name="deletefile"/>
            <word name="renamefile"/>
            <word name="disk"/>
<!-- SCREEN HANDLING -->
            <word name="scr_char"/>
            <word name="scr_attr"/>
            <word name="field_str"/>
            <word name="field_attr"/>
            <word name="cursor"/>
            <word name="cursorform"/>
            <word name="attribute"/>
            <word name="textmode"/>
            <word name="snowcheck"/>
<!-- WINDOW SYSTEM -->
            <word name="makewindow"/>
            <word name="makewindow"/>
            <word name="shiftwindow"/>
            <word name="gotowindow"/>
            <word name="resizewindow"/>
            <word name="resizewindow"/>
            <word name="colorsetup"/>
            <word name="existwindow"/>
            <word name="removewindow"/>
            <word name="removewindow"/>
            <word name="clearwindow"/>
            <word name="window_str"/>
            <word name="window_attr"/>
            <word name="scroll"/>
            <word name="framewindow"/>
            <word name="framewindow"/>
<!-- STRING HANDLING -->
            <word name="frontchar"/>
            <word name="fronttoken"/>
            <word name="frontstr"/>
            <word name="concat"/>
            <word name="str_len"/>
            <word name="isname"/>
            <word name="format"/>
<!-- CONVERSIONS -->
            <word name="char_int"/>
            <word name="str_int"/>
            <word name="str_char"/>
            <word name="str_real"/>
            <word name="upper_lower"/>
            <word name="upper_lower"/>
<!-- HANDLING THE INTERNAL DATABASE -->
            <word name="consult"/>
            <word name="consult"/>
            <word name="save"/>
            <word name="assert"/>
            <word name="asserta"/>
            <word name="assertz"/>
            <word name="retract"/>
            <word name="retractall"/>
<!-- EXTERNAL DATABASE SYSTEM -->
            <word name="db_create"/>
            <word name="db_open"/>
            <word name="db_openinvalid"/>
            <word name="db_close"/>
            <word name="db_delete"/>
            <word name="db_flush"/>
            <word name="db_garbagecollect"/>
            <word name="db_copy"/>
            <word name="db_chains"/>
            <word name="db_btrees"/>
            <word name="db_statistics"/>
            <word name="chain_inserta"/>
            <word name="chain_insertz"/>
            <word name="chain_insertafter"/>
            <word name="chain_delete"/>
            <word name="chain_terms"/>
            <word name="chain_first"/>
            <word name="chain_last"/>
            <word name="chain_next"/>
            <word name="chain_prev"/>
            <word name="term_delete"/>
            <word name="term_replace"/>
            <word name="ref_term"/>
            <word name="bt_create"/>
            <word name="bt_open"/>
            <word name="bt_close"/>
            <word name="bt_delete"/>
            <word name="bt_statistics"/>
            <word name="key_insert"/>
            <word name="key_delete"/>
            <word name="key_first"/>
            <word name="key_last"/>
            <word name="key_search"/>
            <word name="key_next"/>
            <word name="key_prev"/>
            <word name="key_current"/>
<!-- BGI GRAPHIC -->
            <word name="arc"/>
            <word name="bar"/>
            <word name="bar3d"/>
            <word name="circle"/>
            <word name="cleardevice"/>
            <word name="clearviewport"/>
            <word name="closegraph"/>
            <word name="detectgraph"/>
            <word name="drawpoly"/>
            <word name="ellipse"/>
            <word name="fillellipse"/>
            <word name="fillpoly"/>
            <word name="floodfill"/>
            <word name="getarccoords"/>
            <word name="getaspectratio"/>
            <word name="getbkcolor"/>
            <word name="getcolor"/>
            <word name="getdrivername"/>
            <word name="getdefaultpalette"/>
            <word name="getfillpattern"/>
            <word name="getfillsettings"/>
            <word name="getgraphmode"/>
            <word name="getimage"/>
            <word name="getlinesettings"/>
            <word name="getmaxcolor"/>
            <word name="getmaxx"/>
            <word name="getmaxy"/>
            <word name="getmaxmode"/>
            <word name="getmodename"/>
            <word name="getmoderange"/>
            <word name="getpalette"/>
            <word name="getpalettesize"/>
            <word name="getpixel"/>
            <word name="gettextsettings"/>
            <word name="getviewsettings"/>
            <word name="getx"/>
            <word name="gety"/>
            <word name="graphdefaults"/>
            <word name="imagesize"/>
            <word name="initgraph"/>
            <word name="line"/>
            <word name="linerel"/>
            <word name="lineto"/>
            <word name="moverel"/>
            <word name="moveto"/>
            <word name="outtext"/>
            <word name="outtextxy"/>
            <word name="pieslice"/>
            <word name="putimage"/>
            <word name="putpixel"/>
            <word name="rectangle"/>
            <word name="restorecrtmode"/>
            <word name="setactivepage"/>
            <word name="setallpalette"/>
            <word name="setaspectratio"/>
            <word name="setbkcolor"/>
            <word name="setcolor"/>
            <word name="setfillpattern"/>
            <word name="setfillstyle"/>
            <word name="setgraphmode"/>
            <word name="setgraphbufsize"/>
            <word name="setlinestyle"/>
            <word name="setpalette"/>
            <word name="settextjustify"/>
            <word name="settextstyle"/>
            <word name="setusercharsize"/>
            <word name="setviewport"/>
            <word name="setvisualpage"/>
            <word name="setwritemode"/>
            <word name="textheight"/>
            <word name="textwidth"/>
<!-- OLD GRAPHICS -->
            <word name="graphics"/>
            <word name="dot"/>
            <word name="line"/>
            <word name="text"/>
<!-- TURTLE GRAPHICS   (Works together with old graphic) -->
            <word name="pendown"/>
            <word name="penup"/>
            <word name="pencolor"/>
            <word name="forward"/>
            <word name="back"/>
            <word name="right"/>
            <word name="left"/>
            <word name="penpos"/>
<!-- EDITOR -->
            <word name="display"/>
            <word name="edit"/>
            <word name="edit"/>
            <word name="editmsg"/>
<!-- DOS RELATED -->
            <word name="system"/>
            <word name="system"/>
            <word name="dir"/>
            <word name="comline"/>
            <word name="envsymbol"/>
<!-- MISCELLANEOUS MACHINE LOWLEVEL -->
            <word name="port_byte"/>
            <word name="ptr_dword"/>
            <word name="memword"/>
            <word name="membyte"/>
            <word name="bitand"/>
            <word name="bitor"/>
            <word name="bitxor"/>
            <word name="bitnot"/>
            <word name="bitleft"/>
            <word name="bitright"/>
            <word name="bios"/>
            <word name="debug"/>
<!-- ERROR & BREAK CONTROL -->
            <word name="trap"/>
            <word name="exit"/>
            <word name="break"/>
            <word name="breakpressed"/>
            <word name="errormsg"/>
            <word name="readtermerror"/>
            <word name="consulterror"/>
            <word name="FileError"/>
            <word name="CriticalError"/>
<!-- MISCELLANEOUS -->
            <word name="random"/>
            <word name="storage"/>
            <word name="sound"/>
            <word name="beep"/>
            <word name="date"/>
            <word name="time"/>
            <word name="trace"/>
<!-- CONTROL PREDICATES -->
            <word name="findall"/>
            <word name="not"/>
            <word name="free"/>
            <word name="bound"/>
            <word name="fail"/>
            <word name="true"/>
            <word name="getbacktrack"/>
            <word name="cutbacktrack"/>
<!-- ARITHMETIC -->
<!-- Functions -->
            <word name="sin"/>
            <word name="cos"/>
            <word name="tan"/>
            <word name="arctan"/>
            <word name="ln"/>
            <word name="log"/>
            <word name="exp"/>
            <word name="sqrt"/>
            <word name="round"/>
            <word name="trunc"/>
            <word name="abs"/>
<!-- CONDITIONAL COMPILATION -->
            <word name="ifdef"/>
            <word name="ifndef"/>
            <word name="elsedef"/>
            <word name="enddef"/>
<!-- PREDEFINED DOMAINS -->
            <word name="char"/>
            <word name="integer"/>
            <word name="real"/>
            <word name="ref"/>
            <word name="symbol"/>
            <word name="string"/>
            <word name="dbasedom"/>
            <word name="bt_selector"/>
            <word name="db_selector"/>
            <word name="place"/>
            <word name="file"/>
            <word name="reg"/>
            <word name="bgi_ilist"/>
<!-- OPTIONS -->
            <word name="trace"/>
            <word name="shorttrace"/>
            <word name="nowarnings"/>
            <word name="nobreak"/>
            <word name="check_determ"/>
            <word name="diagnostics"/>
            <word name="config"/>
            <word name="project"/>
            <word name="errorlevel"/>
<!--  -->
            <word name="code"/>
            <word name="trail"/>
         </keywords>
      </scheme>

   </type>
</hrc>
<!-- ***** BEGIN LICENSE BLOCK *****
   - Version: MPL 1.1/GPL 2.0/LGPL 2.1
   -
   - The contents of this file are subject to the Mozilla Public License Version
   - 1.1 (the "License"); you may not use this file except in compliance with
   - the License. You may obtain a copy of the License at
   - http://www.mozilla.org/MPL/
   -
   - Software distributed under the License is distributed on an "AS IS" basis,
   - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
   - for the specific language governing rights and limitations under the
   - License.
   -
   - The Original Code is the Colorer Library.
   -
   - The Initial Developer of the Original Code is
   - Cail Lomecb <cail@nm.ru>.
   - Portions created by the Initial Developer are Copyright (C) 1999-2005
   - the Initial Developer. All Rights Reserved.
   -
   - Contributor(s):
   -
   - Alternatively, the contents of this file may be used under the terms of
   - either the GNU General Public License Version 2 or later (the "GPL"), or
   - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
   - in which case the provisions of the GPL or the LGPL are applicable instead
   - of those above. If you wish to allow use of your version of this file only
   - under the terms of either the GPL or the LGPL, and not to allow others to
   - use your version of this file under the terms of the MPL, indicate your
   - decision by deleting the provisions above and replace them with the notice
   - and other provisions required by the LGPL or the GPL. If you do not delete
   - the provisions above, a recipient may use your version of this file under
   - the terms of any one of the MPL, the GPL or the LGPL.
   -
   - ***** END LICENSE BLOCK ***** -->
